A programmable logic device (PLD) includes a plurality of programmable logic elements and a plurality of programmable switch elements. A circuit structure and a function of the PLD can be varied by changing a function of each programmable logic element or a connection between programmable logic elements that is established with programmable switch elements by programming performed by a user after fabrication.
Data (configuration data) for setting a function of a programmable logic element and a connection established with programmable switch elements are stored in a memory device such as a flash memory. To write the configuration data stored in the memory device to a programmable logic element and a programmable switch element is referred to as configuration.
A dynamic reconfiguration technology in which the circuit structure of a PLD where configuration has been performed is dynamically changed while a system including the PLD operates is known.
A multi-context method is known as a dynamic reconfiguration method. The multi-context method is a method for changing the circuit structure of a PLD by storing sets of configuration data corresponding to a plurality of circuit structures and selecting the set of configuration data to be used. A set of configuration data representing circuit structure data is referred to as a context. A signal for switching circuit structure data is referred to as a context selection signal.
Examples of a circuit of a programmable switch element for a multi-context method are a circuit including logic gates, a circuit including a transmission gate, and a circuit including a pass transistor (for example, see Patent Document 1).
Note that a transmission gate is a circuit used as a switch by connecting terminals serving as sources and drains of an n-channel transistor and a p-channel transistor and applying signals logically inverted from each other to gates. A pass transistor is a circuit that selects conduction or non-conduction between a source and a drain in response to a signal applied to a gate.